/**
 * 创建可取消的任务
 * @param {Function} taskFn - 要执行的任务函数
 * @param {Object} [options={}] - 配置选项
 * @param {number} [options.timeout] - 超时时间（毫秒）
 * @param {string} [options.cancelReason] - 取消原因
 * @returns {Object} 包含 cancel 方法和 Promise 的对象
 */
function createCancelTask(taskFn, options = {}) {
  // TODO: 实现可取消任务功能
  // 提示：
  // 1. 返回一个包含 cancel 方法的对象
  // 2. 支持取消正在执行的任务
  // 3. 支持取消未开始的任务
  // 4. 返回 Promise，支持 then/catch/finally
  // 5. 支持超时取消功能
  // 6. 支持取消原因传递
}

module.exports = createCancelTask
